('shutdown', None),
('add_to_other_config', None),
('remove_from_other_config', None),
- ('dmesg', 'String')]
+ ('dmesg', 'String'),
+ ('get_log', 'String')]
host_funcs = [('get_by_name_label', 'Set(host)')]
return xen_api_error(XEND_ERROR_HOST_RUNNING)
return xen_api_error(XEND_ERROR_UNSUPPORTED)
- def host_dmesg(self, session, host_ref):
- return xen_api_success(XendDmesg.instance().info())
+ def host_dmesg(self, session, host_ref, clear):
+ if clear:
+ return xen_api_success(XendDmesg.instance().clear())
+ else:
+ return xen_api_success(XendDmesg.instance().info())
+
+ def host_get_log(self, session, host_ref):
+ log_file = open(XendLogging.getLogFilename())
+ log_buffer = log_file.read()
+ return xen_api_success(log_buffer)
def host_get_record(self, session, host_ref):
node = XendNode.instance()
err("No parameter required")
usage('dmesg')
- if not use_clear:
- print server.xend.node.dmesg.info()
+ if serverType == SERVER_XEN_API:
+ if not use_clear:
+ print server.xenapi.host.dmesg(
+ server.xenapi.session.get_this_host(),0)
+ else:
+ server.xenapi.host.dmesg(
+ server.xenapi.session.get_this_host(),1)
else:
- server.xend.node.dmesg.clear()
+ if not use_clear:
+ print server.xend.node.dmesg.info()
+ else:
+ server.xend.node.dmesg.clear()
def xm_log(args):
arg_check(args, "log", 0)
-
- print server.xend.node.log()
+
+ if serverType == SERVER_XEN_API:
+ print server.xenapi.host.get_log(
+ server.xenapi.session.get_this_host())
+ else:
+ print server.xend.node.log()
def xm_serve(args):
+ if serverType == SERVER_XEN_API:
+ print "Not supported with XenAPI"
+ sys.exit(-1)
+
arg_check(args, "serve", 0)
from fcntl import fcntl, F_SETFL